# 客户端socket UDP写法
# 客户端端口是系统分配

from socket import *
# 需求
# 客户端可以发送多条 如果客户端发送exit就退出 服务器端收到什么就返回什么


# 定义变量、是否退出客户端
flag = True
# 创建套接字
client_socket = socket(AF_INET, SOCK_DGRAM)

while flag:
    # 定义接收消息的目标 6000以上的端口一般不会被占用
    # 8080是目标服务器的端口 127.0.0.1是目标地址 写域名也可以 域名会通过DNS解析为ip
    server_host_post = ('192.168.40.19', 8090)
    # 准备即将发送数据 按照格式变为字节数组
    # 数据一定是字节数据才能发送
    datas = input("请输入:").encode('utf-8')
    # 发送数据 标识一个进程是ip+端口+协议
    client_socket.sendto(datas, server_host_post)
    # 一定可以从服务器接收到返回的数据
    print("返回的数据是:", client_socket.recvfrom(1024)[0].decode('utf-8'))
    if datas.decode('utf-8') == "exit":
        flag = False

client_socket.close()
